<template>
  <view class="page">
    <!-- 搜索 -->
    <mesSearch
      :placeholder="placeholder"
      v-model="postForm.purchase_code"
      @search="resetPaging(), getData()"
    ></mesSearch>
    <!-- 卡片 -->
    <view class="card-box">
      <mes-card-radio ref="mesCardRadio" :form="cardForm">
        <template v-slot:subheader="scope">
          <view class="text-over-1 w-full">{{ scope.data }} </view>
        </template>
      </mes-card-radio>
    </view>

    <mes-tip v-if="noData"></mes-tip>
    <!-- 按钮 -->
    <mes-button :type="2" :form="buttonFrom"></mes-button>
  </view>
</template>

<script>
export default {
  data() {
    return {
      hasMore: true,
      number: '', //选中的计划编号
      postForm: {
        purchase_code: '',
        page:1,
        examine_status:1,
      },
      noData: false,
      cardForm: {
        // 未选择时候的提示语
        saveToast: '请选择生产计划',
        // 选中的字段数据
        checked: '',
        // 根据哪个字段选中，不传默认为id
        valueName: '',
        // 编辑
        edit: (index, item) => {
          console.log('index is', index, 'item is', item)
        },
        // 删除
        del: (index, item) => {
          console.log('index is', index, 'item is', item.row)
          // 这一步删除成功时必须要
          if (
            this.cardForm.checked == item.row[this.cardForm.valueName || 'id']
          ) {
            this.cardForm.checked = ''
          }
          // 自定义删除
          this.cardForm.items.splice(index, 1)
          console.log('删除之后的checked', this.cardForm.checked)
        },
        // 复选框变化
        checkChange: (e, row) => {
          console.log('选择改变', e, 'form', row, row.header.title)
          this.number = row.header.title
        },
        // 需要循环的数据
        items: [
          {
            row: {
              // id: 1,
              // title: '标题1',
              // pid: '5'
            },
            // 编辑以及右侧内容，price可以不传
            header: {
              // title: 'SCJH20220509002',
              // price: '200'
            },
            // 副标题
            // subheader: 'dfsdafasdfsdajkll会计师对方卡珊德拉开发',
            // 数据
            body: [
              // {
              //   name: '单据日期：',
              //   value: '2022-05-09',
              //   // color: 'red' //右侧颜色，可不传
              // },
              // {
              //   name: '交货时间：',
              //   value: '2022-05-09',
              //   // color: 'red'
              // },
              // {
              //   name: '车间：',
              //   value: '加工车间',
              //   // color: 'red'
              // },
              // {
              //   name: '数量：',
              //   value: '5',
              //   // color: 'red'
              // }
            ],
            //是否显示底部按钮
            footer: true
          }
        ]
      },
      buttonFrom: {
        confirmEvent: () => {
          if (this.number) {
            let pages = getCurrentPages() //获取所有页面栈实例列表
            let prevPage = pages[pages.length - 2] //上一页页面实例
            prevPage.$vm.mesFormTop.row.plan_code = this.number
            prevPage.$vm.getGoods()
            uni.navigateBack({
              delta: 1
            })
          } else {
            this.isValue()
          }
        },
        text: '确定'
      },
      placeholder: '计划编号'
    }
  },
  // onUnload() {
  //   this.isValue()
  // },
  onShow() {
    this.resetPaging()
    this.getData()
  },
  onReachBottom() {
    if (!this.hasMore) return
    this.postForm.page++
    this.getData()
  },
  methods: {
    //判断是否有值
    isValue() {
      if (!this.number) {
        this.$tools.toast('请选择生产计划编号')
      }
    },
    // 重置分页
    resetPaging() {
      this.hasMore = true
      this.postForm.page = 1
      this.cardForm.items = []
    },
    getData() {
      console.log(this.postForm,'77777')
      this.$api.prod.plan.index(this.postForm).then((res) => {
        if (res.code == 200) {
          this.hasMore = res.data.list.length ? true : false
          const list = []
          res.data.list.forEach((item) => {
            list.push({
              row: item,
              header: {
                title: item.purchase_code,
                price: item.all_money
              },
              body: [
                {
                  name: '单据日期:',
                  value: item.purchase_time
                },
                {
                  name: '交货时间:',
                  value: item.finish_time
                },
                {
                  name: '车间:',
                  value: item.workshop_id
                },
                {
                  name: '数量:',
                  value: item.number
                }
              ]
            })
          })
          this.cardForm.items = [...this.cardForm.items, ...list]
          res.data.count == 0 ? (this.noData = true) : (this.noData = false)
        }
      })
    }
  }
}
</script>

<style lang="less" scoped>
.card-box {
  padding-top: 110rpx;
}
.page {
  padding-bottom: 200rpx;
}
</style>
